package com.rc.saas.mini.service.member;

import com.github.pagehelper.PageInfo;
import com.rc.saas.mini.common.base.BaseService;
import com.rc.saas.mini.mapper.member.MemberTicketMapper;
import com.rc.saas.mini.model.member.MemberInfo;
import com.rc.saas.mini.model.member.MemberTicket;
import com.rc.saas.mini.model.member.MemberTicketExample;
import com.rc.saas.mini.model.recharge.RechargeOrder;
import com.rc.saas.mini.vo.member.MemberTicketVo;

/**
 * @author wangzhengwei
 * @create 2021/4/25
 */
public interface MemberTicketService extends BaseService<Long, MemberTicket, MemberTicketExample, MemberTicketMapper> {
    PageInfo<MemberTicketVo> listPageTicket(MemberInfo memberInfo,String usingStatus, Integer pageNo, Integer pageSize);

    PageInfo<MemberTicketVo> listPageExpiredTicket(MemberInfo memberInfo, Integer pageNo, Integer pageSize);

    /**
     * 根据类型发送优惠券
     */
    //void SendCoupons(Long ticketTypeId,Long ticketSendRecordId, Long memberId,String tenantCode);

    void insertActivityTicket(MemberInfo member, RechargeOrder rechargeOrder);

    PageInfo<MemberTicketVo> listPageTicketByElecStationId(MemberInfo member, Long elecStationId,String usingStatus, Integer pageNo, Integer pageSize);

    MemberTicket selectByTicketWithMember(Long memberId, Long ticketTypeId);

    void addTicket(Long ticketTypeId, Long memberId);

    int listByTicketWithMember(Long memberId, Long ticketTypeId);
}
